Title Banner

Previous Book Contents Book Index Next

Inside Macintosh: QuickDraw GX Objects /
Chapter 6 - Transform Objects


Summary of Transform Objects

Constants and Data Types

The Transform Object

typedef struct gxPrivateTransformRecord *gxTransform;

Shape Parts for Hit-Testing

enum gxShapeParts {      /* (in order of evaluation) */
   gxNoPart             = 0,   
   gxBoundsPart         = 0x0001,
   gxGeometryPart       = 0x0002,
   gxPenPart            = 0x0004,
   gxCornerPointPart    = 0x0008,
   gxControlPointPart   = 0x0010,
   gxEdgePart           = 0x0020,
   gxJoinPart           = 0x0040,
   gxStartCapPart       = 0x0080,
   gxEndCapPart         = 0x0100,
   gxDashPart           = 0x0200,
   gxPatternPart        = 0x0400,
   gxGlyphBoundsPart    = gxJoinPart,
   gxGlyphFirstPart     = gxStartCapPart,
   gxGlyphLastPart      = gxEndCapPart,
   gxSideBearingPart    = gxDashPart,
   gxAnyPart            = gxBoundsPart | gxGeometryPart | 
            gxPenPart | gxCornerPointPart | gxControlPointPart | 
            gxEdgePart | gxJoinPart | gxStartCapPart | 
            gxEndCapPart | gxDashPart | gxPatternPart 
} ;

typedef long gxShapePart;

Functions

Creating and Manipulating Transform Objects

gxTransform GXNewTransform	(void);
void GXDisposeTransform		(gxTransform target);
void GXCopyToTransform		(gxTransform target, gxTransform source);
boolean GXEqualTransform	(gxTransform one, gxTransform two);
gxTransform GXCloneTransform	(gxTransform source);

Manipulating Transform Object Properties

void GXResetTransform		(gxTransform target);
long GXGetTransformOwners	(gxTransform source);
long GXGetTransformTags		(gxTransform source, long tagType, 
				long index, long count, gxTag items[]);
void GXSetTransformTags		(gxTransform target, long tagType, 
				long index, long oldCount, long newCount,
				const gxTag items[]);

Getting and Setting a Transform's Clip

void GXSetTransformClip		(gxTransform target, gxShape clip);
gxShape GXGetTransformClip	(gxTransform source);
gxShape GXGetShapeClip		(gxShape source);
void GXSetShapeClip		(gxShape target, gxShape clip);

Performing Geometric Arithmetic on Transform Clips

void GXUnionTransform		(gxTransform target, gxShape operand);
void GXIntersectTransform	(gxTransform target, gxShape operand);
void GXDifferenceTransform	(gxTransform target, gxShape operand);
void GXReverseDifferenceTransform
				(gxTransform target, gxShape operand);
void GXExcludeTransform		(gxTransform target, gxShape operand);

Getting and Setting a Transform's Mapping

gxMapping *GXGetTransformMapping
				(gxTransform source, gxMapping *map);
void GXSetTransformMapping	(gxTransform target const gxMapping *map);
gxMapping *GXGetShapeMapping	(gxShape source, gxMapping *map);
void GXSetShapeMapping		(gxShape target, const gxMapping *map);

Transforming Shapes by Modifying Transform Mappings

void GXMoveTransform		(gxTransform target, Fixed deltaX, 
				Fixed deltaY);
void GXMoveTransformTo		(gxTransform target, Fixed x, Fixed y);
void GXScaleTransform		(gxTransform target, Fixed hScale, 
				Fixed vScale, Fixed xOffset, Fixed yOffset);
void GXRotateTransform		(gxTransform target, Fixed degrees, 
				Fixed xOffset, Fixed yOffset);
void GXSkewTransform		(gxTransform target, Fixed xSkew, 
				Fixed ySkew, Fixed xOffset, Fixed yOffset);
void GXMapTransform		(gxTransform target, const gxMapping *map);

Transforming Shapes by Modifying Shape Geometries

void GXMoveShape		(gxShape target, Fixed deltaX, Fixed deltaY);
void GXMoveShapeTo		(gxShape target, Fixed x, Fixed y);
void GXScaleShape		(gxShape target, Fixed hScale, Fixed vScale,
				Fixed xOffset, Fixed yOffset);
void GXRotateShape		(gxShape target, Fixed degrees, 
				Fixed xOffset, Fixed yOffset);
void GXSkewShape		(gxShape target, Fixed xSkew, Fixed ySkew, 
				Fixed xOffset, Fixed yOffset);
void GXMapShape			(gxShape target, const gxMapping *map);

Getting and Setting a Transform's View Ports

long GXGetTransformViewPorts	(gxTransform source, gxViewPort list[]);
void GXSetTransformViewPorts	(gxTransform target, long count,
					const gxViewPort list[]);
long GXGetShapeViewPorts		(gxShape source, gxViewPort list[]);
void GXSetShapeViewPorts		(gxShape target, long count,
					const gxViewPort list[]);

Getting and Setting a Transform's Hit-Test Parameters

gxShapePart GXGetTransformHitTest
					(gxTransform source, Fixed *tolerance);
void GXSetTransformHitTest		(gxTransform target, gxShapePart mask, 
					Fixed tolerance);
gxShapePart GXGetShapeHitTest
					(gxShape source, Fixed *tolerance);
void GXSetShapeHitTest			(gxShape target, gxShapePart mask, 
					Fixed tolerance);


Previous Book Contents Book Index Next

© Apple Computer, Inc.
7 JUL 1996




Navigation graphic, see text links

Main | Page One | What's New | Apple Computer, Inc. | Find It | Contact Us | Help